import plotly.offline as pyo
from plotly.graph_objs import *
import chart_studio.plotly as py
import pandas as pd
from pandas import DataFrame
import plotly.figure_factory as ff
pyo.offline.init_notebook_mode()
table = py.get_figure("rmuir", 313)
pyo.iplot(table)
for ann in table['layout']['annotations']:
if '<b>' in ann['text']:
print('HEADER/INDEX: {}'.format(ann['text']))
else:
print('ROW DATA: {}'.format(ann['text']))
HEADER/INDEX: <b>Country</b> HEADER/INDEX: <b> </b> HEADER/INDEX: <b>Population (2011)</b> HEADER/INDEX: <b> </b> HEADER/INDEX: <b>Area</b> HEADER/INDEX: <b> </b> HEADER/INDEX: <b>England</b> ROW DATA: ROW DATA: 53012456 ROW DATA: ROW DATA: 130,395 km² ROW DATA: HEADER/INDEX: <b>Scotland</b> ROW DATA: ROW DATA: 5295000 ROW DATA: ROW DATA: 78,772 km² ROW DATA: HEADER/INDEX: <b>Wales</b> ROW DATA: ROW DATA: 3063456 ROW DATA: ROW DATA: 20,779 km² ROW DATA: HEADER/INDEX: <b>Northern Ireland</b> ROW DATA: ROW DATA: 1810863 ROW DATA: ROW DATA: 13,843 km² ROW DATA:
for ann in table['layout']['annotations']:
if '<b>' in ann['text']:
ann['font']['color'] = '#f1f1f1'
else:
ann['font']['color'] = '#333'
pyo.iplot(table)
for ann in table['layout']['annotations']:
try:
print(int(ann['text']))
except:
ValueError
53012456 5295000 3063456 1810863
for ann in table['layout']['annotations']:
try:
ann['text'] = "{:,}".format(int(ann['text']))
except:
ValueError
pyo.iplot(table)
def hasNumbers(inputString):
return any(char.isdigit() for char in inputString)
for ann in table['layout']['annotations']:
if hasNumbers(ann['text']) or 'Area' in ann['text']:
print(ann['text'])
<b>Population (2011)</b> <b>Area</b> 53,012,456 130,395 km² 5,295,000 78,772 km² 3,063,456 20,779 km² 1,810,863 13,843 km²
for ann in table['layout']['annotations']:
if hasNumbers(ann['text']) or 'Area' in ann['text']:
ann['xanchor'] = 'right'
pyo.iplot(table)
for ann in table['layout']['annotations']:
if hasNumbers(ann['text']) or 'Area' in ann['text']:
ann['x'] = ann['x'] + 1
pyo.iplot(table)
for ann in table['layout']['annotations']:
if hasNumbers(ann['text']) or 'Area' in ann['text']:
ann['x'] = ann['x'] - 0.1
pyo.iplot(table)